﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using GestorDeFlotas.Core;

namespace GestorDeFlotasDesktop.AbmTurno
{
    public partial class DatosTurno : FormDatosBase
    {
        private Turno MyTurno { get; set; }

        public DatosTurno(ModoAbm modoAbm)
            : base(modoAbm)
        {
            InitializeComponent();
        }
        public DatosTurno(ModoAbm modoAbm, Turno turno)
            : this(modoAbm)
        {
            MyTurno = turno;
        }

        private void PopularControles(Turno tur)
        {
            textBox_horaInicio.Text = Convert.ToString(tur.horaInicio);
            textBox_horaFin.Text = Convert.ToString(tur.horaFin);
            textBox_desc.Text = Convert.ToString(tur.Descripcion);
            textBox_ficha.Text = Convert.ToString(tur.valorFicha);
            textBox_bandera.Text = Convert.ToString(tur.valorBandera);
            checkBox_activo.Checked = tur.Activo;
        }

        private void DatosTurno_Load(object sender, EventArgs e)
        {
            if (this.modoAbm == ModoAbm.Alta)
            {
                this.checkBox_activo.Enabled = false;
            }
            else if (this.modoAbm == ModoAbm.Modificacion)
            {
                PopularControles(this.MyTurno);
            }
        }

        private void button_limpiar_Click(object sender, EventArgs e)
        {
            this.textBox_bandera.Clear();
            this.textBox_desc.Clear();
            this.textBox_ficha.Clear();
            this.textBox_horaFin.Clear();
            this.textBox_horaInicio.Clear();
            this.checkBox_activo.Checked = false;

        }
        private bool ChequearCamposObligatorios()
        {
            bool camposInvalidos = false;

            if (string.IsNullOrEmpty(this.textBox_bandera.Text) || string.IsNullOrEmpty(this.textBox_desc.Text) ||
                string.IsNullOrEmpty(this.textBox_ficha.Text) || string.IsNullOrEmpty(this.textBox_horaFin.Text) ||
                string.IsNullOrEmpty(this.textBox_horaInicio.Text))
            {
                camposInvalidos = true;
            }
            return camposInvalidos;
        }
    
        private void button_guardar_Click(object sender, EventArgs e)
        {
            bool camposInvalidos = ChequearCamposObligatorios();
            if (!camposInvalidos)
            {
                PopularTurno();
                
                this.DialogResult = DialogResult.OK;
            }
            else
            {
                MostrarMensajeCamposObligatorios_standard();
            }
        }
        private void PopularTurno()
        {
            try
            {
                MyTurno.Descripcion = Convert.ToString(textBox_desc.Text);
                MyTurno.Activo = checkBox_activo.Checked;
                MyTurno.horaFin = Convert.ToInt32(textBox_horaFin.Text);
                MyTurno.horaInicio = Convert.ToInt32(textBox_horaInicio.Text);
                MyTurno.valorBandera = Convert.ToDecimal(textBox_bandera.Text);
                MyTurno.valorFicha = Convert.ToDecimal(textBox_ficha.Text);
            }
            catch (System.Exception ex)
            {
                //falta completar
                MessageBox.Show(ex.ToString());
            }

        }
       
    }
}
